// 引入http工具 中的 post 方法
import { axiosPost } from '@/libs/http.js'

/**
 * 根据指定日期获取当天的数据
 * 此函数使用axiosPost方法发送POST请求到API服务器，请求当天的数据
 * 它返回一个Promise对象，当数据成功获取时，Promise对象会解析为API返回的数据
 * 如果请求失败，Promise对象会拒绝并返回错误信息
 * 
 * @param {string} date - 需要获取数据的日期，格式为'YYYY-MM-DD'
 * @returns {Promise} - 返回一个Promise对象，当数据获取成功时解析为数据对象，失败时拒绝并返回错误信息
 */
const getDayData = date => {
    return new Promise((resolve, reject) => {
        axiosPost({
            url: '/api/calendar/day',
            data: {
                date
            },
            success: data => {
                resolve(data)
            },
            error: err => {
                reject(err)
            }
        })
    })
}

// 获取近期假期
const getMonthData = yearMonth => {
    return new Promise((resolve, reject) => {
        axiosPost({
            url: '/api/calendar/month',
            data: {
                'year-month': yearMonth
            },
            success: data => {
                resolve(data)
            },
            error: err => {
                reject(err)
            }
        })
    })
}

// 获取当年的假期
const getYearData = year => {
    return new Promise((resolve, reject) => {
        axiosPost({
            url: '/api/calendar/year',
            data: {
                year
            },
            success: data => {
                resolve(data)
            },
            error: err => {
                reject(err)
            }
        })
    })
}

// 导出三个函数
export { getDayData, getMonthData, getYearData }